package com.coldchain.cys.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.coldchain.common.msg.BaseResponse;
import com.coldchain.cys.entity.Cys;
import com.coldchain.cys.entity.CysChild;
import com.coldchain.cys.page.CysQueryVo;
import com.function.common.RestResponse;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author tianpeng
 * @since 2018-08-28
 */
public interface ICysService extends IService<Cys> {


	/**
	 * 根据id来取得承运商
	 * @author TianPeng
	 *
	 * 2018年9月8日
	 */
	Cys getCysDetail(Long id);
	
	/**
	 * 取得当前登录的承运商
	 * @author TianPeng
	 *
	 * 2018年9月11日
	 */
	Cys getCurrent();

	/**
	 * 验证承运商登录
	 * @author TianPeng
	 *
	 * 2018年9月11日
	 */
	BaseResponse validateCysLogin(String username, String password);

	/**
	 * 操作修改密码
	 * @author TianPeng
	 *
	 * 2018年9月12日
	 */
	RestResponse doEditPass(String originalPass, String newPass, String newPass2);

	/**
	 * 根据phone字段来查询承运商
	 * @param phone
	 * @return
	 */
	public Cys getByPhone(String phone) ;
	
	/**
	 * 验证承运商是否有效
	 * @param cysid
	 * @return
	 */
	String validateCys(Long cysid) ;
	
	/**
	 * 取得当前登录的承运商或者承运商子账号
	 * @return
	 */
	CysChild getCurrentLogin();

	/**
	 * 承运商列表查询
	 * @param vo
	 */
	void getList(CysQueryVo vo);



	/**
	 * 删除承运商
	 * @param cysId
	 * @return
	 */
	BaseResponse doDeleteCys(Long cysId);

	/**
	 * 承运商启用禁用开关
	 * @return
	 */
	BaseResponse doSwitchCysUse(Long cysId);

	/**
	 * 后台添加成员
	 * @param cys
	 * @return
	 */
	BaseResponse doAddCys(Cys cys);


	
}
